1. Field of the Invention
The present invention generally relates to data processing in databases and, more particularly, to providing natural language support for database applications.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.
Regardless of the particular architecture, a DBMS can be structured to support a variety of different types of operations for a requesting entity (e.g., an application, the operating system or an end user). Such operations can be configured to retrieve, add, modify and delete information being stored and managed by the DBMS. Standard database access methods support these operations using high-level database query languages, such as the Structured Query Language (SQL).
One type of functionality that a DBMS must support for end users is natural language support. This includes translation of a given database query language and the data in the database from one language to another and also from one variant of a given language to another variant of the given language. For example, it may be desirable to translate a database from English to Russian and may also be desirable to translate an English database from a format (i.e., variant) suitable to researchers to a format suitable to doctors, where both formats are in the English language.
In conventional database environments, natural language support is provided at the application level. However, it is difficult to provide natural language support for an application as changes are made to the corresponding underlying database. Specifically, if the data in the corresponding underlying database changes, rewriting the natural language support layer of the application is required.
Therefore, there is a need for an improved and more flexible technique for providing natural language support in a database environment.